package com.ruoyi.web.service.impl;

import java.util.List;

import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.web.constant.RedisMessageType;
import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.web.mapper.MiningConfigMapper;
import com.ruoyi.web.domain.MiningConfig;
import com.ruoyi.web.service.IMiningConfigService;

/**
 * 当前质押配置Service业务层处理
 * 
 * @author ruoyi
 * @date 2023-01-04
 */
@Service
@AllArgsConstructor
public class MiningConfigServiceImpl implements IMiningConfigService 
{

    private final MiningConfigMapper miningConfigMapper;

    private final RedisCache redis;

    /**
     * 查询当前质押配置
     * 
     * @param id 当前质押配置主键
     * @return 当前质押配置
     */
    @Override
    public MiningConfig selectMiningConfigById(Long id)
    {
        return miningConfigMapper.selectMiningConfigById(id);
    }

    /**
     * 查询当前质押配置列表
     * 
     * @param miningConfig 当前质押配置
     * @return 当前质押配置
     */
    @Override
    public List<MiningConfig> selectMiningConfigList(MiningConfig miningConfig)
    {
        return miningConfigMapper.selectMiningConfigList(miningConfig);
    }

    /**
     * 新增当前质押配置
     * 
     * @param miningConfig 当前质押配置
     * @return 结果
     */
    @Override
    public int insertMiningConfig(MiningConfig miningConfig)
    {
        miningConfig.setCreateTime(DateUtils.getNowDate());
        return miningConfigMapper.insertMiningConfig(miningConfig);
    }

    /**
     * 修改当前质押配置
     * 
     * @param miningConfig 当前质押配置
     * @return 结果
     */
    @Override
    public int updateMiningConfig(MiningConfig miningConfig)
    {
        miningConfig.setUpdateTime(DateUtils.getNowDate());
        redis.setCacheObject(RedisMessageType.MINING_CONFIG,miningConfig);
        return miningConfigMapper.updateMiningConfig(miningConfig);
    }

    /**
     * 批量删除当前质押配置
     * 
     * @param ids 需要删除的当前质押配置主键
     * @return 结果
     */
    @Override
    public int deleteMiningConfigByIds(Long[] ids)
    {
        return miningConfigMapper.deleteMiningConfigByIds(ids);
    }

    /**
     * 删除当前质押配置信息
     * 
     * @param id 当前质押配置主键
     * @return 结果
     */
    @Override
    public int deleteMiningConfigById(Long id)
    {
        return miningConfigMapper.deleteMiningConfigById(id);
    }
}
